// 管理员初始化，判断数据库中是否有管理员，如果没有，自动添加一个管理员
const admin = require('../models/admin')

// 添加一个管理员
async function addAdmin(adminObj, peratorId) {
    // 判断adminObj的各种属性是否合理，以及账号是否存在
    const ins = await admin.create(adminObj)
    return ins.toJSON()
}

// 删除一个管理员
async function deleteAdmin(adminId) {
    // 不能把所有管理员全部删除

    // 方式一 可以获取到实例 会执行2条sql语句
    // // 得到实例
    // const ins = await admin.findByPk(adminId)
    // // 删除实例
    // ins && await ins.destroy()

    // 方式二 不能获取到实例 会执行1条sql语句
    await admin.destroy({
        where: {
            id: adminId
        }
    })
}

// 修改一个管理员
async function updateAdmin(id, adminObj) {
    // 不能修改账号

    // 方式一 可以获取到实例 会执行2条sql语句
    const ins = await admin.findByPk(id)
    // 修改
    ins.loginId = adminObj.loginId
    // 保存
    await ins.save()


    // 方式2
    await admin.update(adminObj, {
        where: { id: id }
    })

}
module.exports = { addAdmin, deleteAdmin, updateAdmin }